home *** CD-ROM | disk | FTP | other *** search
-
- 1 Version 4.0 -- 5/1/89 dbretdata
- ______________________________________________________________________
-
- NAME: dbretdata
-
- FUNCTION:
- Return a pointer to a return parameter value generated by a
- stored procedure.
-
- SYNTAX:
- BYTE *dbretdata(dbproc, retnum)
-
- DBPROCESS *dbproc;
- int retnum;
-
-
-
-
-
-
-
-
- dbretdata Version 4.0 -- 5/1/89 2
- ______________________________________________________________________
-
- COMMENTS:
-
- o dbretdata() returns a pointer to a return parameter value gen-
- erated by a stored procedure. It is useful in conjunction with
- remote procedure calls and EXECUTE statements on stored pro-
- cedures.
- o Transact-SQL stored procedures can return values for specified
- "return parameters." Changes made to the value of a return
- parameter inside the stored procedure are then available to the
- program that called the procedure. This is analogous to the
- "pass by reference" facility available in some programming
- languages.
-
- For a parameter to function as a return parameter, it must be
- declared as such within the stored procedure. The EXECUTE
- statement or remote procedure call that calls the stored pro-
- cedure must also indicate that the parameter should function as
-
-
- 3 Version 4.0 -- 5/1/89 dbretdata
- ______________________________________________________________________
- a return parameter. In the case of a remote procedure call, it
- is the dbrpcparam() routine that specifies whether a parameter
- is a return parameter.
-
- o When executing a stored procedure, the server returns any
- parameter values immediately after returning all other results.
- Therefore, the application can call dbretdata() only after pro-
- cessing the stored procedure's results by calling dbresults(),
- as well as dbnextrow() if appropriate. (Note that a stored
- procedure can generate several sets of results-one for each
- SELECT it contains. Before the application can call dbret-
- data() or any other routines that process return parameters, it
- must call dbresults() and dbnextrow() as many times as neces-
- sary to process all the results.)
- o If the stored procedure is invoked with a remote procedure
- call, the return parameter values are automatically available
- to the application. If, on the other hand, the stored
-
-
-
- dbretdata Version 4.0 -- 5/1/89 4
- ______________________________________________________________________
- procedure is invoked with an EXECUTE statement, the return
- parameter values are available only if the command batch con-
- taining the EXECUTE statement uses local variables, not con-
- stants, for the return parameters.
-
- o Other routines return additional information about return
- parameter values:
- o dbnumrets() returns the total number of return parameter
- values.
-
- o dbretlen() returns the length of a parameter value.
- o dbretname() returns the name of a parameter value.
-
- o dbrettype() returns the datatype of a parameter value.
- o For an example of this routine, see Example 8 in the DB-Library
- Reference Supplement.
-
-
-
-
- 5 Version 4.0 -- 5/1/89 dbretdata
- ______________________________________________________________________
-
- PARAMETERS:
- dbproc - A pointer to the DBPROCESS structure that provides the
- connection for a particular front-end/SQL Server process. It
- contains all the information that DB-Library uses to manage
- communications and data between the front end and SQL Server.
- retnum - The number of the return parameter value of interest.
- The first return value is 1. Values are returned in the same
- order as the parameters were originally specified in the
- stored procedure's CREATE PROCEDURE statement. (Note that
- this is not necessarily the same order as specified in the
- remote procedure call.) When specifying retnum, non-return
- parameters do not count. For example, if the second parame-
- ter in a stored procedure is the only return parameter, its
- retnum is 1, not 2.
-
- RETURNS:
-
-
-
- dbretdata Version 4.0 -- 5/1/89 6
- ______________________________________________________________________
- A pointer to the specified return value. If retnum is out of
- range, dbretdata() returns NULL. To determine whether the data
- really has a null value (and retnum is not merely out of range),
- check for a return of 0 from dbretlen().
-
- SEE ALSO:
- dbnextrow, dbnumrets, dbresults, dbretlen, dbretname, dbrettype,
- dbrpcinit, dbrpcparam
-
-
-
-
-
-
-
-
-
-
-
-